diff --git a/tests/codeigniter/core/Security_test.php b/tests/codeigniter/core/Security_test.php
index 1796ba7..b2f8c69 100644
--- a/tests/codeigniter/core/Security_test.php
+++ b/tests/codeigniter/core/Security_test.php
@@ -70,4 +70,36 @@
 
 		$this->assertEquals("Hello, i try to [removed]alert&#40;'Hack'&#41;;[removed] your site", $harmless_string);
 	}
+
+	// --------------------------------------------------------------------
+	
+	public function test_xss_hash()
+	{
+		$this->assertEmpty($this->security->xss_hash);
+
+		// Perform hash
+		$this->security->xss_hash();
+
+		$this->assertTrue(preg_match('#^[0-9a-f]{32}$#iS', $this->security->xss_hash) === 1);
+	}
+
+	// --------------------------------------------------------------------
+	
+	public function test_entity_decode()
+	{
+		$encoded = '&lt;div&gt;Hello &lt;b&gt;Booya&lt;/b&gt;&lt;/div&gt;';
+		$decoded = $this->security->entity_decode($encoded);
+
+		$this->assertEquals('<div>Hello <b>Booya</b></div>', $decoded);
+	}
+
+	// --------------------------------------------------------------------
+	
+	public function test_sanitize_filename()
+	{
+		$filename = './<!--foo-->';
+		$safe_filename = $this->security->sanitize_filename($filename);
+
+		$this->assertEquals('foo', $safe_filename);
+	}
 }
\ No newline at end of file
diff --git a/tests/codeigniter/libraries/Table_test.php b/tests/codeigniter/libraries/Table_test.php
index 13f338c..f5133de 100644
--- a/tests/codeigniter/libraries/Table_test.php
+++ b/tests/codeigniter/libraries/Table_test.php
@@ -291,6 +291,26 @@
 		);
 	}
 	
-	// Test main generate method
-	// --------------------------------------------------------------------
+	function test_generate()
+	{
+		// Prepare the data
+		$data = array(
+			array('Name', 'Color', 'Size'),
+			array('Fred', 'Blue', 'Small'),
+			array('Mary', 'Red', 'Large'),
+			array('John', 'Green', 'Medium')	
+		);
+
+		$table = $this->table->generate($data);
+
+		// Test the table header
+		$this->assertTrue(strpos($table, '<th>Name</th>') !== FALSE);
+		$this->assertTrue(strpos($table, '<th>Color</th>') !== FALSE);
+		$this->assertTrue(strpos($table, '<th>Size</th>') !== FALSE);
+
+		// Test the first entry
+		$this->assertTrue(strpos($table, '<td>Fred</td>') !== FALSE);
+		$this->assertTrue(strpos($table, '<td>Blue</td>') !== FALSE);
+		$this->assertTrue(strpos($table, '<td>Small</td>') !== FALSE);
+	}
 }
\ No newline at end of file
